package com.sh.d1.gameserver.login.db;

import org.apache.ibatis.annotations.Param;

/**
 * 用户 DAO
 */
public interface IUserDao {
    /**
     * 根据用户名称获取用户
     *
     * @param userName 用户名称
     * @return 用户实体
     */
    UserEntity getByUserName(@Param("userName") String userName);

    /**
     * 根据 Id 获取用户
     *
     * @param userId 用户 Id
     * @return 用户实体
     */
    UserEntity getByUserId(@Param("userId") int userId);

    /**
     * 添加用户名称和密码
     *
     * @param newEntity 新实体
     */
    void insertInto(UserEntity newEntity);

    /**
     * 根据用户 Id 更新英雄形象
     *
     * @param userId     用户 Id
     * @param heroAvatar 英雄形象
     */
    void updateHeroAvatarByUserId(
        @Param("userId") int userId, @Param("heroAvatar") String heroAvatar
    );
}
